約 4,291,565 件
https://w.atwiki.jp/neosrchelp/pages/52.html
概要 選択肢を表示して、分岐処理を行います パラメーター ※Setで選択肢変数を使う場合のみ使用 uselist 選択肢変数内に入っているリストを使用する場合に使います 選択肢のは言っている変数名を指定してください goto(初期値 off) 選択肢選択後、選択肢の値に入っているラベル名へジャンプします 【on】か【off】を指定してください target switchで分岐する際に、使用する変数名を指定してください 選択後に、この変数に選択した選択肢の値が入力されます gotoをonにした時は不要です KeyとValue 変数を使わない場合、選択肢一覧に表示するリストもパラメータで指定します コロン【 】を使用して、左側が選択肢一覧に表示するKey、右側が分岐に使う変数のValueです gotoをonにした時は、Valueに入れたラベル名へとジャンプします 【例】 ※Setで選択肢変数を使う場合 Set name 選択肢 list 選択 PushList target 選択肢 key ドアを押す value ドアを押す PushList target 選択肢 key ドアを引く Select uselist 選択肢 target カギ選択肢 showmsg time 0.5 switch カギ選択肢 case ドアを押す Talk システム びくともしない break case ドアを引く Talk システム 引いてどうする break default Talk システム ドアが開いた break EndIf ※ラベルジャンプする場合 Select goto on 解放する 解放ラベル 眺める 不問 放置する 不問 Select goto on uselist 選択肢 ※ラベルジャンプしない場合 Select target 選択肢 goto off 解放する 解放へ 眺める 眺めるへ 放置する 放置するへ switch 選択肢 case 解放へ Talk システム カギを外した break case 放置するへ Talk システム このままながめてみるか break default Talk システム なにもしなかった break EndIf
https://w.atwiki.jp/ktonegaw/pages/45.html
Ruby Official Page http //www.ruby-lang.org/ja/ 日本Rubyの会 http //jp.rubyist.net/ Ruby (Wikipedia) http //ja.wikipedia.org/wiki/Ruby 逆引きRuby http //www.namaraii.com/rubytips/ Ruby入門 (ITpro) http //itpro.nikkeibp.co.jp/ruby/index.html Ruby入門 http //www.rubylife.jp/ini/ Rubyあれこれ http //homepage1.nifty.com/~tetsu/ruby/ 電脳Rubyプロジェクト http //www.gfd-dennou.org/arch/ruby/index-j.htm 『Rubyソースコード完全解説』サポートページ http //i.loveruby.net/ja/rhg/ ホワイの(感動的)Rubyガイド http //www.aoky.net/articles/why_poignant_guide_to_ruby/ るびま http //jp.rubyist.net/magazine/ Rubyで関数プログラミング http //sky.zero.ad.jp/~zaa54437/programming/ruby/ Rubyネットワーク・プログラミング http //www.geekpage.jp/programming/ruby-network/ Ruby情報あれこれ http //www.syboos.jp/ruby/ Ruby入門リンク http //rtokiwa.s55.xrea.com/wiki/index.php?Ruby%C6%FE%CC%E7%A5%EA%A5%F3%A5%AF Ruby on Rails (Official page) http //rubyonrails.org/ Ruby on Rails (ITpro) http //itpro.nikkeibp.co.jp/article/COLUMN/20060424/236113/ Ruby on Rails (Wikipedia) http //ja.wikipedia.org/wiki/Ruby_on_Rails Ruby on Rails (日本語Wiki) http //wiki.fdiary.net/rails/
https://w.atwiki.jp/wiki6_takt/pages/40.html
Railsキャッシング インターネット上の大規模サイトの多くはインタープリター型言語を使っています。そうしたサイトは、Ruby と同じ方式、つまりクラスター化され、何も共有しないアーキテクチャーを採用しています。そしてキャッシュも行っています。大部分のサイトでは、可能な限り最大のパフォーマンスを得るために、効果的なキャッシング方法を必要としています。そして Rails 開発者も、そうした方式に従い始めています。 単純な Rails アプリケーションの作成に役立つ記事は、何十というほどあります。このシリーズでは、単純なブログを作成するという基礎を越え、すべての Rails サイトが解決すべき問題に入り込みます。ここでは Rails の最適化方法や、サイトをより安定にするための方法について学びます。また、Rails の基本的な制約を、プラグインを追加することで回避する方法も学びます。このシリーズの各記事を読み終わるごとに、現実の世界で Rails サイトを動作させるための方法について、さらにもう少し知ることができるはずです。 いくつかのシナリオ まず、ChangingThePresent.org の何ページかを紹介させてください。このサイトの中で、キャッシュが必要となりそうな、いくつかの場所を示すことにします。次に、私達がそれぞれの場所に対して何を選択したか、そして、そうしたページを実装するために使用したコード、つまり方式に注目します。特に、私達が下記のすべてに対して、どう対応しているかを説明します。 静的なページ全体 ほとんど変化しない動的なページ全体 動的なページの一部 (動的なページ・フラグメント) アプリケーション・データ 静的なページを考えてみましょう。ほとんどすべてのサイトには静的なページがあります。例えば図 1 は、私達の使用許諾条件を示しています。このページに行くためには、register をクリックし、次に user agreement をクリックします。ChangingThePresent の場合、私達はこのページからすべての動的コンテンツを削除したので、このページを Apache にキャッシュさせることができました。私達の Apache の構成ルールから、このコンテンツが Rails サーバーでサービスされることはありません。私はこの Rails のキャッシングをまったく考えていません。 図 1. 利用規約 次に、完全に動的なページを考えてみましょう。理論的には、ChangingThePresent は、動的に作成されても稀にしか変化しないページを持つことができます。ほとんどすべてのページはユーザーがログインしているかどうかを表示するため、私達はこのタイプのキャッシングには関心がありません。 次に、ページ・フラグメントのキャッシングを考えます。私達のホームページ (図 2) は、以前は完全に静的でした。現在では、いくつかの要素が動的です。このページは毎日、一連の寄付項目を表示します (寄付項目は、ランダムに選択されるものと私達の管理者が選択するものの両方があります)。「A Few of our Special Gifts for Earth Day」というタイトルのセクションの寄付項目に注目してください。また、右端にある「login」というリンクにも注目してください。このリンクは、ユーザーがログインしているかどうかに依存します。ページ全体をキャッシュすることはできません。このページは 1 日に 1 度だけ変更されます。 図 2. ホームページ 最後に、このアプリケーションを考えてみます。15 年前にすべてのネット・サーフィンを終えたのでもない限り、興味深いサイトの大部分は動的です。最近のアプリケーションにはレイヤーがあり、通常はレイヤー間にキャッシュを追加することで、アプリケーションを効率的にすることができます。ChangingThePresent は、少しばかりデータベース・レイヤーでキャッシングを行っています。次に、こうしたキャッシングのタイプをそれぞれ掘り下げ、私達が ChangingThePresent でどんなことをしているかを説明しましょう。 静的コンテンツのキャッシング 静的なデータのキャッシング方法については、画像を除けば、あまり言うことがありません。私達のサイトは寄付のためのポータルです。これはつまり、ユーザーの感情面に訴える必要があるということです。これは画像が、そしてさらにはビデオが必要なことを意味しています。しかし私達の Web サーバーである Mongrel は、静的データをあまり適切にサービスすることができません。そのため私達は、Apache を使って画像コンテンツをサービスしています。 Mongrel は、Zed Shaw が 2500 行の Ruby と C で作成した Web サーバーです。この、ごく小さなフットプリントを持つ小さなサーバーは、Rails や Nitro、Iowa などの Ruby Web アプリケーション用にカスタム調整されます。Mongrel は UNIX® と Linux™ で動作しますが、Win32 でも動作します。Mongrel は多くの場合、別の Web サーバー (Apache や Litespeed など) の背後で実行し、プロキシーとして動作します。しかし、必ずそうである必要はありません。Mongrel 自体が HTTP サーバーなので、皆さんの好みの HTTP ツールと合わせて Mongrel を使うことができます。 私達は最も頻繁に使われる画像をキャッシュし、私達の顧客がそうした画像を手軽に見られるように、画像アクセラレーター、Panther Express に移行しつつあります。この方法を使うために、images.changingThePresent.org というサブドメインを持つことにします。Panther Express は、そのローカル・キャッシュで任意の画像を直接サービスし、そしてリクエストを私達に対して送信します。Panther サービスは私達がいつ画像を変更するのかわからないため、私達は HTTP ヘッダーを使って画像を失効させています。下記を見てください。 キャッシュを失効させる HTTP ヘッダー HTTP/1.1 200 OK Cache-Control max-age=86400, must-revalidate Expires Tues, 17 Apr 2007 11 43 51 GMT Last-Modified Mon, 16 Apr 2007 11 43 51 GMT これらが HTML ヘッダーではないことに注意してください。こうした HTTP ヘッダーは Web ページのコンテンツとは独立に作成されます。Web サーバーは、こうした HTTP ヘッダーを作成してくれます。Web サーバーの構成は、Rails に関する記事シリーズとしては関心の対象ではないため、今度は Rails フレームワークでコントロールされるキャッシュの内容に移ることにします (Web サーバーの構成について詳しくは、「参考文献」のリンクを参照してください)。 ページ・キャッシング 稀にしか変化しない動的なページがある場合には、ページ・レベルのキャッシングをする必要があります。ブログや公開の掲示板は、そうした種類のアプリケーションの例です。ページ・キャッシングを行うと、Rails は動的な HTML ページを作成でき、それを公開のディレクトリーに保存できるため、アプリケーション・サーバーはそれを他の静的ページと同じようにサービスすることができます。 Rails は、ページがキャッシュされた場合、画像を含めないため、ページ・キャッシングは Rails では最も高速な種類のキャッシング動作です。最も基本的なレベルのページ・キャッシングであれば、実は Rails では非常に容易に行うことができます。ページ・キャッシングとフラグメント・キャッシングはどちらも、コントローラー・レベルで行われます。Rails に対して下記を指示する必要があります。 どのページをキャッシュしたいか ページのコンテンツが変化した場合、キャッシュにあるページをどのように失効させるか ページ・キャッシングを有効にするには、コントローラー・クラス内の caches_page ディレクティブを使います。例えば privacy_policy ページと user_agreement ページを about_us_controller でキャッシュするためには、下記のコードを入力します。 リスト 2. ページ・キャッシングを有効にする class AboutController ApplicationController caches_page privacy_policy, user_agreement end ページを失効させるためには expire_page ディレクティブを使います。Rails が new_pages アクションを呼び出した時に上記のページを失効させる場合には、私は下記のコードを使います。 リスト 3. ページを失効させる class AboutController ApplicationController caches_page privacy_policy, user_agreement def new_pages expire_page action = privacy_policy expire_page action = user_agreement end end ここで、いくつかの小さな問題、例えば URL に注目する必要があります。URL を URL パラメーターに依存させることはできません。例えば、gifts/water?page=1 の代わりに gifts/water/1 を使う必要があります。routes.rb では、そうした URL を容易に使うことができます。例えば私達のページは、どのタブが選択されているかを示すタブ・パラメーターを持つことがよくあります。このタブを URL の一部にするために、私達は下記のルーティング・ルールを使っています。 リスト 4. タブのためのルーティング・ルール map.connect member/ id/ tab , controller = profiles , action = show 同じことを、ページ・パラメーターを持つリストや、URL パラメーターに依存する他のページにも行う必要があります。また、セキュリティーも考慮する必要があります。 ページがキャッシュの中にある場合、Rails フレームワークは無関係なため、サーバーはセキュリティーの面倒を見てくれません。Web サーバーはキャッシュの中の任意のページを構わず描画し、ユーザーがそうしたページを見る権限を持っているかどうかを気にしません。そのため、そのページを見られる人が誰かを気にする場合には、ページ・キャッシングを使うべきではありません。 単純で静的なページを単にキャッシュするだけであれば、必要なことは以上です。ある程度コンテンツが単純である限り、難しいことはありません。 しかし、もっと複雑なコンテンツをキャッシュしようとすると、トレードオフを迫られます。大幅に動的なページをキャッシュする場合には、失効ロジックが複雑になります。複雑な失効ポリシーを処理するためには、カスタムのスイーパー (sweeper) を作成して構成する必要があります。こうしたクラスは、ある種のコントローラー・アクションが起動されると、選択された要素をキャッシュから削除します。 大部分のカスタム・スイーパーは、何らかのモデル・オブジェクトを観察し、そして変化に基づいて、1 つ以上のキャッシュ・ページを失効させるためのロジックを起動します。リスト 5 は典型的なキャッシュ・スイーパーを示しています。スイーパーの中では、アクティブ・レコード・イベント (例えば after_save など) を定義することができます。そのイベントが起動すると、スイーパーが起動し、そしてキャッシュの中にある、選択されたページを無効にします。この例は expire_page メソッドに基づく無効化を示しています。多くの本格的なアプリケーションでは、こうした方法ではなく、Ruby の素晴らしいファイル・システム・ユーティリティーを直接使って、キャッシュされたページを明示的に削除しています。 リスト 5. 典型的なオブザーバー class CauseController ApplicationController cache_sweeper cause_sweeper ... class CauseSweeper ActionController Caching Sweeper observe Cause def after_save(record) expire_page( controller = causes , action = show , id = record.id) cause.nonprofits.each do |nonprofit| expire_page( controller = nonprofits , action = show , id = nonprofit.id) end end end おそらく皆さんは、ページ・キャッシングの欠点、つまり複雑さに気が付き始めたのではないでしょうか。ページ・レベルのキャッシングを適切に行うことはできますが、複雑になるという特有の問題があるため、アプリケーションはテストしにくくなり、またシステム中でバグの可能性が高まります。また、もしページがユーザーごとに異なる場合には、あるいは認証されたページをキャッシュしたい場合には、ページ・キャッシング以上のものを検討する必要があります。ChangingThePresent の場合は両方の状況に対応する必要があります。なぜなら、ユーザーがログインしているかによって基本的なレイアウト上のリンクを変更しているからです。私達の大部分のページでは、ページ・レベルのキャッシングなど、考えることすらできません。ページ・レベルのキャッシングに関して学ぶためには、いくつかの素晴らしい記事へのリンクを「参考文献」にあげましたので、それらを参照してください。次に、ページ全体のキャッシングの別形式である、アクション・キャッシングについて説明します アクション・キャッシング ここまでのところで、ページ・キャッシングの基本的な強みと、基本的な弱みの両方を学びました。大部分のページ取得では、Rails が画像を含めることはありません。強みはスピードであり、弱みは柔軟性です。アプリケーションの状態 (例えば認証など) に基づいてページ全体のキャッシングを行う必要がある場合には、ページ・キャッシングではなくアクション・キャッシングをすることができます。 アクション・キャッシングは、ページ・キャッシングと同じように動作しますが、フローは少し異なります。Rails はアクションを描画する前に、実際にコントローラーを呼び出します。もしそのアクションによって描画されたページが既にキャッシュの中にある場合には、 Rails はそのページを再度描画するのではなく、キャッシュの中にある、そのページを描画します。今度は画像の中に Rails があるため、ページ・キャッシングよりもやや遅くなりますが、有利な点もあります。ほとんどすべての Rails 認証スキーマは、コントローラーの before フィルターを使います。アクション・キャッシングでは、コントローラーによる認証と任意のフィルターを利用することができます。 構文的には、アクション・キャッシングはページ・キャッシングとまったく同じように動作しますが、使用するディレクティブは異なります。リスト 6 は caches_action ディレクティブの使い方を示しています。 リスト 6. アクション・キャッシングを有効にする class AboutController ApplicationController caches_action secret_page, secret_list end キャッシュの失効、そしてスイーパーも、同じように動作します。私達はアクション・キャッシングを使っていませんが、その理由の多くはページ・キャッシングを使わない理由と同じです。しかしフラグメント・キャッシングは私達にとって、はるかに重要です。 ページ・フラグメントのキャッシング 部分キャッシングを使うと、ページの一部 (多くの場合はレイアウトのためのコンテンツ) をキャッシュすることができます。またフラグメント・キャッシングを使うと、Web ページ上に直接置かれた rhtml ディレクティブでブロックを囲むことによって、キャッシュすべきフラグメントを特定することができます (リスト 7)。ChangingThePresent.org では、フロント・ページと他の何ページかをフラグメント・キャッシングを使ってキャッシュしています。これらのページは、どれもデータベースを頻繁にアクセスし、また私達のサイトで最も人気のあるページです。 リスト 7. キャッシュ・フラグメントを特定する % cache gifts_index do % h3 Here, you can make the world a better place with a single gift. Donation gifts are also a wonderful way to honor friends and family. Just imagine what we can achieve together. /h3 h2 class="lightBlue" %= @event_title % /h2 div id="homefeatureitems" % for gift in @event_gifts % %= render partial = gifts/listable , locals = { gift = gift } % % end % /div ... % end % リスト 7 では、キャッシュする対象のフラグメントを cache ヘルパーが特定します。最初のパラメーターは、キャッシュ・フラグメントを特定する固有の名前です。2 番目のパラメーターは、どの RHTML フラグメントをキャッシュするかを正確に特定するコード・ブロック (最初の do と最後の end の間のコード) を含んでいます。 私達のサイトにはホームページが 1 つしかないため、ページに名前を付けるのは簡単です。他の場所では、あるページの URL を決定するメソッドを使って、キャッシュ・フラグメントを固有識別しています。例えば世界平和あるいは貧困の緩和など、大義のためのコードをキャッシュする場合、私達はリスト 8 のコードを使います。このコードは、その大義に対するパーマネント URL (パーマリンクとも呼ばれます) を発見します。 リスト 8. URL によってキャッシュ・フラグメントを特定する % cache @cause.permalink(params[ id]) do % 通常、個々のページをキャッシュする場合、それらのページをスイーパーで失効させる必要があります。しかし場合によると、単純に時間に基づいてオブジェクトを失効させる方法を使った方が容易で簡潔なことがあります。Rails はデフォルトではそうした機構を提供していませんが、timed_fragment_cache というプラグインを使うと、ちょっとしたトリックを行えます。このプラグインを使うと、キャッシュされたコンテンツの中で、あるいはページの動的データを提供するコントローラー・コードの中で、タイムアウトを指定することができます。例えばリスト 9 は、大義のリストを持つページに対する動的データを作成するコードを示しています。when_fragment_expired メソッドは、関連付けられたキャッシュ・フラグメントが失効する時にのみ実行されます。このメソッドは、タイムアウトの長さを指定するパラメーターと、どのコンテンツが失効した時にそのコンテンツを再構築するかを指定するコード・ブロックを使います。rhtml ページの中で、キャッシュ・メソッドと共にタイムアウトを指定する選択もあったのですが、私達にとってはコントローラー・ベースのメソッドの方が好ましい選択でした。 リスト 9. 時間に基づくキャッシュの失効 def index when_fragment_expired causes_list , 15.minutes.from_now do @causes = Cause.find_all_ordered end end 有効期限付きの方法を使うと、(少しばかり古いデータで我慢できるのなら) キャッシング方法を大幅に単純化することができます。キャッシュされる要素それぞれに対して、キャッシュしたいコンテンツと、動的コンテンツを作成する任意のコントローラー・アクション、そしてタイムアウトを指定すればよいだけです。ページ・キャッシングの場合と同じく、もし必要であれば、expire_fragment controller = controller, action = action, id = id.というメソッドを使って明示的にコンテンツを失効させることもできます。このメソッドは、キャッシュされたアクションやページの失効とまったく同じように動作します。次に、バック・エンドの構成方法を説明しましょう。 memcached ここまで、Ruby on Rails のためのページとフラグメントのキャッシング・モデルを説明してきました。API については説明したので、今度はキャッシュされたデータがどこに行くのかを定義しましょう。Rails はデフォルトで、キャッシュされたページをファイル・システムの中に置きます。キャッシュされたページもアクションも、公開のディレクトリーの中に入ります。キャッシュされたフラグメントのストレージ場所は、構成することができます。メモリー・ストアを使うこともでき、あるいは (指定したディレクトリーの) ファイル・システムやデータベース、あるいは memcached と呼ばれるサービスを使うこともできます。ChangingThePresent.org では memcached を使っています。 memcached は、ネットワークを介して到達できる巨大なハッシュ・マップと考えることができます。メモリー・ベースで行うキャッシングは高速であり、そしてネットワーク・ベースのキャッシュはスケーラブルです。プラグイン・サポートを利用することで、Rails は memcached を使ってフラグメントと ActiveRecord モデルをキャッシュすることができます。memcached を使うためには、memcached をインストールし (詳細は「参考文献」を参照)、そしてそれを environment.rb (あるいは production.rb など環境構成ファイルの 1 つ) の中で構成します。 リスト 10. キャッシングの構成 config.action_controller.perform_caching = true memcache_options = { c_threshold = 10_000, compression = false, debug = false, readonly = false, urlencode = false, ttl = 300, namespace = igprod , disabled = false } CACHE = MemCache.new memcache_options リスト 10 は、典型的な構成を示しています。1 行目の config.action_controller.perform_caching = true は、キャッシングをオンにします。次の行は、キャッシングのオプションを準備します。さまざまなオプションを利用することで、さらに多くのデバッグ・データを取得でき、キャッシュを無効にでき、そしてキャッシュの名前空間を定義できることに注意してください。構成オプションの詳細については、「参考文献」セクションにあげた memcached のサイトを参照してください。 モデルのキャッシング 私達が使用しているキャッシング形式の最後は、モデル・ベースのキャッシングです。私達は、CachedModel と呼ばれる、キャッシング・プラグインをカスタマイズしたものを使っています。モデル・キャッシングは限定された形式のデータベース・キャッシュであり、容易に、モデル単位で有効化することができます。 モデルでキャッシング・ソリューションを利用するためには、ActiveRecord を継承する代わりに単純に CachedModel クラスを継承します (リスト 11)。CachedModel は ActiveRecord Baseを継承します。ActiveRecord は、完全なオブジェクト・リレーショナル・マッピング・レイヤーではありません。このフレームワークは、SQL に大きく依存して複雑な機能を実行します。そしてユーザーは、必要に応じて容易に SQL の中まで入り込むことができます。ただし直接 SQL を使用すると、キャッシングに問題が起こりがちです。これはキャッシング・レイヤーが、1 つのデータベース行ではなく完全な結果セットを処理しなければならないためです。結果セットを完全に処理することは、できたとしても問題が多く、それを十分にサポートするアプリケーション・ロジックがない限り、ほとんど不可能です。こうした理由から、CachedModel は厳密に 1 つのモデル・オブジェクトのキャッシングのみに焦点を絞っており、1 つの行を返すクエリーに対してのみ高速化を行います。 リスト 11. CachedModel を使う Class Cause CachedModel 大部分の Rails アプリケーションは、(ユーザー・オブジェクトなど) いくつかの項目を繰り返しアクセスします。こうした状況では、モデル・キャッシングによって動作が高速化されます。ChangingThePresent の場合には、ようやく最近、モデル・ベースのキャッシングの活用を始めたところです。 まとめ Ruby は非常に生産的な言語ですが、インタープリター型であるため、パフォーマンスの観点からは理想的ではありません。大部分の主な Rails アプリケーションは、キャッシングを効果的に利用することで、そうした欠点をいくらか低減しています。ChangingThePresent.org の場合、私達は基本的にフラグメント・キャッシングを使っており、また基本的にタイム・ベースの方法を使うことで、コントローラーによるフラグメントのキャッシングを無効にしています。私達の場合にはログインしたユーザーに基づいて変化するページがあるのですが、この方法はうまく機能しています。 また私達は、memcached に基づく CachedModel クラスを使った場合の影響も検討しています。まだ、そうしたキャッシングがデータベースのパフォーマンスに与える影響を検討し始めたばかりですが、初期の結果を見る限り有望です。
https://w.atwiki.jp/jpops/pages/20023.html
RUBYをお気に入りに追加 RUBYのリンク #bf Amazon.co.jp ウィジェット RUBYの報道 プログラミング言語「Ruby」を活用したITビジネスコンテスト『Ruby biz Grand prix 2021』表彰式開催。ニューノーマル時代の”デジタルライフ”を支える様々なサービスが集結! - PR TIMES 品川駅構内「エキュート品川」がブランド名を統一 施設内で初のサブスクも(みんなの経済新聞ネットワーク) - Yahoo!ニュース - Yahoo!ニュース トップエンジニア学生に聞いた好きなプログラミング言語TOP3、3位Ruby、2位JavaScript、1位は?| - @DIME 輝く“宝石スイーツ”を展開! 品川に新ブランド「Very Ruby Cut」が誕生(クランクイン!) - Yahoo!ニュース - Yahoo!ニュース コロナ禍後、オフィスに戻る開発者は大幅に減少?--GitHub「Octoverse」レポート(ZDNet Japan) - Yahoo!ニュース - Yahoo!ニュース 「Ruby 3.0.3」「Ruby 2.7.5」「Ruby 2.6.9」が公開【11月29日追記】 - 窓の杜 mruby/cが工業用ミシンの不良率を8割削減、ローコード開発環境への展開も(MONOist) - Yahoo!ニュース - Yahoo!ニュース 吉祥寺に揚げたてポテトチップス専門店 ポテトに合うドラフトビールも(みんなの経済新聞ネットワーク) - Yahoo!ニュース - Yahoo!ニュース 学生、25歳以下対象の、5日間のオンラインプログラミング合宿「Ruby合宿」の参加者募集 - PR TIMES Rubyは副業にも向いている 国産プログラミング言語のメリットとは? - 財経新聞 「中高生国際Rubyプログラミングコンテスト2021 in Mitaka」の最終審査会が12月4日にオンラインで開催 - EdTechZine(エドテックジン) 福岡県Ruby・コンテンツビジネス振興会議では、「第14回フクオカRuby大賞」を募集しています!:時事ドットコム - 時事通信 ホットスタッフ主催「Ruby Tuesday」にgoomiey、初恋(突然少年)、pinfu、東京少年倶楽部(音楽ナタリー) - Yahoo!ニュース - Yahoo!ニュース 渋スクフィギュア、アニメ『デート・ア・バレット』より「時崎狂三 - Pigeon Blood Ruby Dress Ver. -」の1/7スケールフィギュアを本日10月26日より予約販売開始! - PR TIMES 25億年前のルビーから生命の痕跡が発見される - GIGAZINE 公式アンバサダー・JO1と一緒に”キュン(ハート)ブレイク”を楽しもう!「キットカット ルビー JO1スペシャルパッケージ」11月4日(木) 数量限定発売 - PR TIMES [1]Ruby biz Grand prix 2021の概要:イノベーティブな社会を創り支えるRuby活用事例大集合! 大賞はどうなる?! 『Ruby biz Grand prix 2021』 - Gihyo Jp ルビー・ローズ、「バットウーマン」制作陣を名指しで非難。 - VOGUE JAPAN 【つぼウォーク#20前編】下北沢Ruby Tuesdayよりブリットロック×カセットテープ×フレンチビンテージの奇跡。バーバリーのスエードベストや西ドイツのアディダスに興奮!(FORZA STYLE) - Yahoo!ニュース - Yahoo!ニュース 「Rails 7.0」の最初のアルファ版がリリース:CodeZine(コードジン) - CodeZine(コードジン) アセンブラとRubyが登場! プログラミング言語の基礎を体系的に学べる「独習」シリーズ - CodeZine(コードジン) Ruby on Rails コミッターの松田 明氏がhachidori株式会社の技術顧問に就任 - PR TIMES 日食なつこ、ニュー・アルバム『アンチ・フリーズ』から台湾アーティスト Ruby Fataleとのコラボ曲「泡沫の箱庭」リリック・ビデオ公開 - Skream! プリズムのような深みとニュアンスを作り出す新カラー「ディープアメジスト」「ディープルビー」の2色が10月6日新登場! - PR TIMES Ruby合宿2021夏 参加者募集開始 - PR TIMES 「中高生国際Rubyプログラミングコンテスト2021 in Mitaka」作品募集を開始。締切は9月30日 - こどもとIT - 窓の杜 プログラム言語「Ruby 3.0.2」リリース - ThinkIT スクリプト言語「Ruby」にセキュリティ更新 ~3件の脆弱性に対処【7月28日追記】 - 窓の杜 自分の世界は自分の力で少しずつ変えられる! Rails Girls Japan 江森真由美さんに聞いたRubyコミュニティの世界 - CodeZine(コードジン) 「Vagrant 3.0」ではコードベースのRubyからGo言語への移行がさらに進行 - CodeZine(コードジン) Ruby on Rails生みの親David Heinemeier Hanssonが登壇!「Fireside Chat with DHH - The Global Dev Study #3」を開催 - PR TIMES コンパイルされ、型付けされ、RubyにインスパイアされたCrystal言語がプロダクションに対応 - Beta Ziliani氏とのQ&A - InfoQ Japan プログラミング言語 Ruby(ルビー)の生みの親 まつもとゆきひろ氏による テックキャンプのカリキュラム監修が決定 - PR TIMES 今最も「アツい」言語はRuby!IT案件市況動向レポートを初公開 - PR TIMES スクリプト言語「Ruby」にセキュリティ更新 ~「Ruby 2.5」系統は終了 - 窓の杜 人気の純国産プログラミング言語「Ruby」、発祥の地・松江で地域振興の手段になっている|ニュースイッチ by 日刊工業新聞社 - ニュースイッチ Newswitch シューマツワーカー、エンジニア向けオンラインイベント/Ruby on Rails編を開催 - PR TIMES 「中高生国際Rubyプログラミングコンテスト2020 in Mitaka」受賞作品を発表 - EdTechZine(エドテックジン) 南米アマゾンの幻の果実”完熟カムカム”を日本で味わえる「Amazon Ruby」のクラウドファンディングを開始。 - PR TIMES 「Ruby 3.0」に対応した「RubyInstaller」が公開 ~UTF-8への移行も完了 - 窓の杜 「Ruby 3.0.0」リリース、Ruby 2系列の3倍のパフォーマンスを実現 - CodeZine(コードジン) 「Ruby 2」より3倍速い ~「Ruby 3.0.0」が例年通りクリスマスにリリース - 窓の杜 Redwood - Ruby on RailsのエクスペリエンスをJavaScriptで実現 - InfoQ Japan ZMP、高精細3D-LiDAR「RS-Ruby Lite」を発売…最大測定距離230m - レスポンス プロダクト開発が学べるRailsチュートリアル、RubyとRailsの学習ガイドなどを執筆する『五十嵐邦明』氏と連携し、コンテンツ拡充へ - PR TIMES 「Ruby」の開発者 まつもとゆきひろ氏 メドケア株式会社の技術顧問に就任 - PR TIMES トロテックが 新しいレーザーソフトウェア「Trotec Ruby」を発表 - Dream News ゼロからわかる! Ruby on RailsでのWebアプリ開発:新刊ピックアップ - Gihyo Jp ルビー・ローズ、「バットウーマン」の降板理由を明かす。 - VOGUE JAPAN Rubyプログラミングが1時間が習得できるYoutube講座がスタート! - PR TIMES ゼロからわかる Ruby 超入門の著者、五十嵐邦明氏がプログラミングスクール「フィヨルドブートキャンプ」の顧問に就任 - PR TIMES 「言語の開発は自分の宇宙をつくる感覚」Rubyの生みの親・まつもとゆきひろの創造性 - Yahoo!ニュース - Yahoo!ニュース 「Ruby 2.7」に対応した「RubyInstaller」が登場 ~「Ruby」を手軽にWindows環境へ導入 - 窓の杜 RailsアプリをRuby 2.7.0で動かして分かったこと - リクルートマーケティングパートナーズ 【Ruby×スポーツで世の中に幸せを届ける】Player!が『Ruby biz グランプリ2019』にて特別賞を受賞! - PR TIMES 2019年1番学ばれた人気プログラミング言語を発表 1位は「PHP」次いで「Ruby」が人気の結果に! - PR TIMES 紛失防止サービスのMAMORIOが『Ruby biz Grand prix 2019』で特別賞を受賞しました! - PR TIMES Ruby合宿2019夏を8月19日~23日の間、島根県立青少年の家(サン・レイク)にて開催しました - PR TIMES 「rest-client」など11のRubyライブラリにバックドアが発見される - ZDNet Japan Rubyのリリースマネジャーを趣味でやるのは無理 - ITpro Webアプリ開発のフレームワーク「Rails」を基礎から学べる『独習Ruby on Rails』発売 - CodeZine(コードジン) Jeremy Evansさん「たのしいRubyの先に,はやいRubyがある。Work, Correct, Fun! Fast」 〜RubyKaigi 2019 3日目 基調講演 - Gihyo Jp nagachikaさん「安定したRubyを届けたい –All bugfixes are incompatibilities–」 〜RubyKaigi 2019 2日目 基調講演:RubyKaigi 2019 Keynote レポート - Gihyo Jp Ruby製HTTPクライアント用gemの「Faraday」を使おう - CodeZine(コードジン) Ruby 2.6の新機能とRuby 2.5のおさらい - Computerworldニュース:Computerworld - 日経xTECH 【DOLK】コラボ限定の雪うさぎ『Magic Ruby』『Star Sapphire』が誕生! - PR TIMES Rubyの魅力は柔軟性、生産性、そして活発なコミュニティ活動――「Ruby biz Grand prix 2018」表彰式レポート - CodeZine(コードジン) Rubyが魅力的でないとうちのビジネスが困る――クックパッドが取り組むRubyへの貢献とエンジニア育成 - CodeZine(コードジン) Ruby on Rails × AWSにおける最適化 レスポンスタイムを200ms→100msにするためにやったこと - ログミー Ruby | チュートリアル、API、SDK、ドキュメント | AWS デベロッパーセンター - amazon.com Rubyが生まれた頃、そしてこれからのRubyを語ろう――まつもとゆきひろ氏×アーロン・パターソン氏【GitHub Satellite Tokyo】 - CodeZine(コードジン) まつもとゆきひろさん「ことわざに通じるRubyのプログラミングとコミュニティ」 〜RubyKaigi 2018 基調講演 1日目:RubyKaigi 2018 Keynote レポート - Gihyo Jp 第73回 RubyからMySQLを操作してみる - Gihyo Jp Rubyの会社でなぜRust? Cookpadがマイナー言語を採用するまで - ログミー 世界のプログラミング言語(5) 日本が世界に誇る「Ruby」は楽しくプログラムが書ける言語 - マイナビニュース Ruby登場から25年 生みの親、まつもとゆきひろ氏が語る「Rubyという概念が誕生した日」 - ログミー プログラミング言語「Ruby」が愛される理由 - 東洋経済オンライン Vladimir Makarovさん「3x3を達成するには,極めて大きな改善が必要だ」Towards Ruby 3x3 performance 〜RubyKaigi 2017 基調講演 3日目:RubyKaigi 2017 Keynoteレポート - Gihyo Jp まつもとゆきひろさん「Rubyはさまざまな言語やコミュニティから影響を受けデザインされている」The Many Faces of Module 〜RubyKaigi2017 基調講演 2日目:RubyKaigi 2017 Keynoteレポート - Gihyo Jp 中田伸悦さん「Ruby開発者の日常」Making Ruby? ゆるふわRuby生活 〜RubyKaigi 2017 基調講演 1日目:RubyKaigi 2017 Keynoteレポート - Gihyo Jp Rubyはどのように生まれ、世界へ羽ばたいていったのか?まつもとゆきひろさん講演会の全貌をレポート - リクルートマーケティングパートナーズ Ruby-Pythonブリッジライブラリ「PyCall」を使ってRubyでデータ分析をしよう! - CodeZine(コードジン) Wi-FI拡張も簡単! Rubyが使えるGR-CITRUSで電子工作を始めよう - CodeZine(コードジン) 【こっそり学ぶプログラミング言語】Ruby(ルビー)って何ですか? - 株式会社ストライク ASCII.jp:Rubyで電卓を作る - ASCII.jp ASCII.jp:Rubyで「木」を扱う - ASCII.jp 成瀬ゆいさん,Ruby開発の世界に飛び込もう 〜RubyKaigi 2016 基調講演 3日目:RubyKaigi 2016レポート - Gihyo Jp ASCII.jp:Ruby超入門 (後編) - ASCII.jp Ruby作者まつもとゆきひろ氏2万字インタビュー(後篇) (1/5) - ASCII.jp ASCII.jp:Ruby超入門(前編) - ASCII.jp 「現状に満足したら死ぬ」 Ruby開発者まつもとゆきひろ氏が語る進化の必然性 | キャリアハック - CAREER HACK マネーフォワードがRuby言語(オープンソース)の「パトロン」に - TechCrunch まつもとゆきひろさん,Rubyの変化で大事にしているルールを守りつつ「2019年までにRuby 3x3を実現したい」 〜RubyKaigi 2015基調講演 1日目:RubyKaigi 2015レポート - Gihyo Jp オンラインプログラミング学習サービスの「Progate」が、実践的なWEBアプリ開発を学習できる「Ruby on Rails 中級編」を無料で一般公開 - PR TIMES ParseがRubyからGoへ移行,信頼性が大きく向上 - InfoQ Japan Rubyプログラミングの基礎知識 - ThinkIT Ruby から Java へのシフトで大統領選を乗り切った Twitter - InfoQ Japan 組み込みC言語プログラマのためのmruby入門(前編) ―― Rubyとmruby,何が違う? どう違う? - 組み込みネット 「人間様が気分よくプログラミングするための言語」Rubyは何を目指すのか - GIGAZINE Rubyが.NETプラットフォームにやってくる (1/8):CodeZine(コードジン) - CodeZine RUBYとは RUBYの74%は小麦粉で出来ています。RUBYの14%は媚びで出来ています。RUBYの8%は鍛錬で出来ています。RUBYの2%はスライムで出来ています。RUBYの2%は気の迷いで出来ています。 RUBY@ウィキペディア RUBY Amazon.co.jp ウィジェット 掲示板 名前(HN) カキコミ すべてのコメントを見る ページ先頭へ RUBY このページについて このページはRUBYのインターネット上の情報を集めたリンク集のようなものです。ブックマークしておけば、日々更新されるRUBYに関連する最新情報にアクセスすることができます。 情報収集はプログラムで行っているため、名前が同じであるが異なるカテゴリーの情報が掲載される場合があります。ご了承ください。 リンク先の内容を保証するものではありません。ご自身の責任でクリックしてください。
https://w.atwiki.jp/startruby/pages/14.html
なぜRuby? 短期化する開発 3ヶ月単位の開発が増えてきた! 開発者は黙って徹夜休出を耐えるしかないのか? 開発現場を効率良く回す OSSフレームワークを効果的に採用する 自動化できる部分はできうる限り自動化する 自動化できる部分はできうる限り自動化する CI等大きなツールはOSSを利用 DBにリソースを放り込むとか細かい糊的ツールが必要 つくらにゃ! 自動化するためにはツールをつくらにゃ! ツールのキモは「素早く実装」「使いながらメンテ」 開発対象の言語で作る! c#にしてもJavaにしても重厚感はいなめない Excelのマクロ! nullとNothingの嵐に眩暈が WindowsScriptingHostを使う! OfficeはOLEで使えるけど、ライブラリ不足が否めない… LLは? 開発用ツールをLLで書くことの有用性 Perl、Python、Rubyとあるけれど… 糊として手軽である 開発効率がとってもいい 大抵のライブラリが揃っている ライブラリマネージャ(cpan、egg、gem)でネットから楽々インストール で、なんでRubyなの? 趣味です!!
https://w.atwiki.jp/rubyonrails/pages/26.html
SQLite3 データベース 起動(コマンドプロンプト) sqlite3 データベース名 データベース(xxx.sqlite)があればログインし、なければ作成します。 ヘルプの表示 sqlite .help 環境情報の取得 sqlite .show echo off explain off headers on .headers on で変更できる(SELECT文時に、結果にヘッダーがつく) mode column .mode column で変更できる(SELECT文時に、結果がカラム毎の幅で整形される) nullvalue "" output stdout 出力場所。ファイル名にすればファイルに出力。stdout は画面のこと separator "|" width テーブル テーブル一覧 sqlite .tables SELECT文 行数指定 sqlite SELECT カラム名, ... FROM テーブル名 LIMIT 行数; 外部ファイルからの SQL 実行 sqlite .read ファイル名 * sqlite * sqlite * sqlite * sqlite * sqlite * sqlite * sqlite * sqlite * sqlite * sqlite * sqlite * sqlite
https://w.atwiki.jp/chapati4it/pages/90.html
MySqlを使ってみるselect,insert @pagesでは、rubyとMySqlを使えると聞いて手を出してみたので、MySqlの使い方を調べてみました。 サンプルダウンロード MySqlに接続 select文の実行 select文の実行結果取得 insert文の実行 リクエストパラメータの取得 リダイレクト サンプルソース(mysql.cgi) サンプルソース(mysql.insert.cgi) サンプルダウンロード mysql.cgi mysql.insert.cgi MySqlに接続 @pagesでMySqlに接続するには、ユーザー名、パスワード、ホスト名、データベース名を管理画面から取得し、 以下のようにMysql newに設定します。 # DB接続 require mysql user = ユーザー名 pass = パスワード host = localhost name = データベース名 db = Mysql new(host, user, pass, name ) select文の実行 パラメータのないselect文なら、queryメソッドでselect文を実行し、Mysql Resultオブジェクトを取得できます。 # クエリ実行 res = db.query("select * from TestTable") select文の実行結果取得 select文の実行結果は、eachメソッドでカラムの配列として取得できます。 # データ取得&出力 res.each do |row| col1 = row[0] col2 = row[1] col3 = row[2] col4 = row[3] end insert文の実行 insert文はパラメータが基本必要なので、Mysql#prepareメソッドを使い、Mysql Stmtオブジェクトを取得します。 Mysql Stmt#executeメソッドにパラメータを渡すと、クエリの ? にパラメータが設定されます。 select文のパラメータを設定する場合も、同じ方法でよいと思います。 # クエリ実行 st = db.prepare("insert into TestTable (name, birth, address, email) values (?,?,?,?)") st.execute(name, birth, address, email) st.close() db.close() リクエストパラメータの取得 フォームから送信されたリクエストパラメータの取得はCGI#paramsメソッドを使いHashを取得します。 # リクエストパラメータ取得 require cgi cgi = CGI.new name = cgi["name"] birth = cgi["birth"] address = cgi["address"] email = cgi["email"] リダイレクト insert後はまた初期画面に戻りたいので、Ggi#headerメソッドを使い標準出力に結果を出力します。 # mysql.cgiへリダイレクト print cgi.header({ status = 302 Found , Location = mysql.cgi }) サンプルソース(mysql.cgi) 「TestTable」のデータを全て読み込んで画面に表示し、新しいデータの入力フォームを表示します。 入力フォームはmysql.insert.cgiに送信します。 #!/usr/local/bin/ruby # コンテンツタイプ出力 print "Content-type text/html\n\n" # ヘッダ出力 print( "head") html head title ruby and MySql - ちゃぱてぃ商店@pages /title meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" /head head # DB接続 require mysql user = chapati pass = ぱすわーど host = localhost name = db0chapati db = Mysql new(host, user, pass, name ) # クエリ実行 res = db.query("select * from TestTable") # データ取得&出力 res.each do |row| col1 = row[0] col2 = row[1] col3 = row[2] col4 = row[3] puts col1 puts ", " puts col2 puts ", " puts col3 puts ", " puts col4 puts " br " end db.close() # フォーム出力 print( "form") form action= mysql.insert.cgi label 名前: /label input type= text id= name name= name / br label 生年月日: /label input type= text id= birth name= birth / br label 住所: /label input type= text id= address name= address / br label メールアドレス: /label input type= text id= email name= email / br input type= submit /form form print " /html " サンプルソース(mysql.insert.cgi) mysql.cgiからリクエストパラメータを受け取り、「TestTable」に新しいレコードを作成するサンプルです。 新しいレコードの作成後は「mysql.cgi」にリダイレクトします。 #!/usr/local/bin/ruby # リクエストパラメータ取得 require cgi cgi = CGI.new name = cgi["name"] birth = cgi["birth"] address = cgi["address"] email = cgi["email"] # DB接続 require mysql user = ユーザー名 pass = ぱすわーど host = localhost dbname = db0chapati db = Mysql new(host, user, pass, dbname ) # クエリ実行 st = db.prepare("insert into TestTable (name, birth, address, email) values (?,?,?,?)") st.execute(name, birth, address, email) st.close() db.close() # mysql.cgiへリダイレクト print cgi.header({ status = 302 Found , Location = mysql.cgi })
https://w.atwiki.jp/chapati4it/pages/87.html
rubyとは 日本人プログラマーのまつもと ゆきひろさんが個人で開発している、 かなり人気のあるプログラム言語です。 詳しくは公式サイトで! オブジェクト指向スクリプト言語 Ruby http //www.ruby-lang.org/ja/ Rubyサンプル 複数ファイルでのプログラム(load) Rubyのバージョン確認 Ruby1.8 FasterCsvでCSVファイルの読み書き(ダブルクォーテーション付き Ruby1.8 FasterCsvでCSVファイルの読み書き+ソート Ruby1.8 1.9 構造体のようなクラスを簡単に作るクラス「Struct」 thinサンプル Ruby製webサーバthinのインストール thin(Rack)アプリを作ってみる @pagesでruby 環境構築(Windows) rubyインストール apache2インストール @pagesに合わせて設定変更 apache2 ドキュメントルートでCGIを動かそう MySQLのインストール Ruby/MySQLのインストール eclipseにRubyのプラグインをインストール サンプル @pagesでrubyをやってみる MySqlを使ってみるselect,insert
https://w.atwiki.jp/kiminori_hirose/pages/16.html
Rails 1.2.3 のメモ 作成手順 プロジェクトの作成 projectプロジェクトを作成する。 $ rails project データベースの設定 config/database.ymlをMySQL用に編集する。(testとproductionもdevelopmentと同様に変更しておく。) development adapter mysql database project_development username {MySQLのユーザ名} password {パスワード} socket /var/lib/mysql/mysql.sock #ソケットのとき host localhost #TCP/IPのときのMySQLのホスト名 port 3306 #TCP/IPのときのMySQLのポート番号。指定してないときは、3306になる encoding utf8 #文字化け防止のためデータベースの文字コードを設定する。 文字コード(UTF-8)の指定 app/controllers/application.brにHTTPレスポンスで返すContent-Typeを追加する。 class ApplicationController ActionController Base after_filter set_charset protected def set_charset headers["Content-Type"] = text/html; charset=UTF-8 end end config/environment.rbにRailsの内部文字コードを追加する。 $KCODE = UTF8 Tips Railsの規約にあわない名前を持つテーブルのためにset_table_name を使う config/environment.rbファイルを編集 ActiveRecord Base.pluralize_table_names = false app/controllers/entity.rbを編集 class Entity ActiveRecord Base set_table_name "entity" end 主キーがidではないテーブルのためにset_primary_keyを使う app/controllers/entity.rbを編集 class Entity ActiveRecord Base set_primary_key "entity_id" end ActiveRecordで外部キーを指定する class Person ActiveRecord Base belongs_to company validates_associated campany end 独自の単数形と複数形を定義する config/environment.rbを編集 Inflector.inflections do |inflect| inflect.irregular leaf , leaves end セッションの有効期限を設定する プロジェクト全体で設定するには、config/environment.rbを編集 ActionController Base.session_options[ session_expires] = 15.minutes.from_now 特定のコントローラで設定するには、各コントローラを編集 class PersonController Application session session_expires = 10.minutes.from_now end HTMLエスケープとURIエンコード HTMLエスケープ a href=" %=h http //localhost/q=東京 -% " LINK /a URIエンコード a href=" %=u http //localhost/q=東京 -% " LINK /a
https://w.atwiki.jp/bigoyayubi/pages/50.html
Ruby on Railsとは? 開発環境 基本的な操作の流れプロジェクト作成ターミナルから IDEから 環境設定文字コード設定 タイムゾーン設定 DB設定 Webページ+DBテーブル雛形作成ターミナルでコマンド直投 AptanaでGUIから操作 DB操作テスト Webアプリケーション動作確認 railsのDB操作で有効な型(使用するDBが選択自由なため、型名は抽象化している) ジェネレートコマンド詳細scaffold(スキャフォールド) migration(マイグレーション) * Ruby on Railsとは? 開発環境 Aptana Studio on RadRails(編集環境) Subversion(バージョン管理) ERMaster(DB設計サポート) 基本的な操作の流れ プロジェクト作成 ターミナルから 下記コマンドを実行 rails プロジェクト名 IDEから メニュー>新規>プロジェクトでOK 上記を実行すると多数のディレクトリとファイルが自動生成される。 Aptanaはプロジェクト生成後、デモページが表示される。 ターミナルからコマンド直投した場合は下記手順で参照する。 ruby script/server #Webサーバー起動 w3m http //localhost 3000/ #テキストベースのwebブラウザで動作確認 環境設定 下記ファイルで環境設定する。Aptanaは設定ページがあるはず。 config/environment.rb 文字コード設定 $KCODE = "UTF8" タイムゾーン設定 config.time_zone = "Tokyo" DB設定 Aptanaは設定ページからDBを選択する。(プロジェクト作成時にも質問される) 下記ファイルを設定すれば良い config/database.yml 上記ファイルにMySQL, PostgleSQL等使い分ける際に個別設定をする。 ちなみにDBは3つのセクションにわかれている 開発用 テスト用 本番用 Webページ+DBテーブル雛形作成 試しにBookmarkというテーブルにBookmark_Addressというカラムを持たせる。 ターミナルでコマンド直投 下記コマンドを投入。 ruby script/generate scaffold Bookmark Bookmark_Address string AptanaでGUIから操作 下記のうぴに選択してジェネレータを起動する。 メニュー ジェネレーター 生成プログラムには下記を指定 scaffold パラメータには下記を指定 Bookmark Bookmark_Address string 三角の実行ボタンを押すとOK DB操作テスト SQLを使わず、railsの機能でDB操作することをマイグレーションという 下記コマンドで実行する。 rake db migrate 上記が正常に実行出来ればOK Webアプリケーション動作確認 サーバを起動し、実際にWebページから確認する。 サーバー起動 ruby script/server ブラウザで見てみる w3c http //localhost 3000/Bookmark railsのDB操作で有効な型(使用するDBが選択自由なため、型名は抽象化している) rails ruby string String text String integer Fixnum datetime Time timestamp Time boolean Object ジェネレートコマンド詳細 scaffold(スキャフォールド) railsでDB操作するために必要な各種ファイルを生成する。 コマンドイメージは下記の通り ruby script/generate scaffold DB名 カラム名 カラム型 DB名の名詞は単数形にすること。(railsが勝手に複数形にしちゃうらしい) migration(マイグレーション) *